;======================================================================
;文件头配置
	.DEF NES_16KB_PRG_SIZE,		8
	.DEF NES_8KB_CHR_SIZE, 		1
	.DEF BANK_DATA_MASK,		NES_16KB_PRG_SIZE * 2 - 1     ;bank号掩码
	.DEF RESET_BANK,		NES_16KB_PRG_SIZE * 2 - 1
    .DEF RESET_ADDR,                    $F000   ;主程序起始地址
;======================================================================
	.DEF PRG_DATA_BANK_C000,	NES_16KB_PRG_SIZE * 2 - 2
	.DEF PRG_DATA_BANK_E000,	NES_16KB_PRG_SIZE * 2 - 1

	.DEF Mapper, 4
	.DEF FourScreen, 0 << 2		;四分屏幕，1为开启
	.DEF Trainer, 0 << 3		;是否开启Trainer，1为开启
	.DEF Battery_backed, 0 << 4	;是否开启SRAM，1为开启
	.DEF Mirroring, 0			;0为横向镜像，1为纵向

;工具宏
;==================================================
	.DEF BANK_16K_SIZE,	$4000
	.DEF BANK_8K_SIZE,	$2000
    
    .MACRO BANK_ORG_16K, _bank, _org
        .ORG _org
        .BASE $10 + ((_bank & BANK_DATA_MASK) * BANK_16K_SIZE) + (_org & $3FFF)
    .ENDM
    
    .MACRO BANK_ORG_8K, _bank, _org
        .ORG _org
        .BASE $10 + ((_bank & BANK_DATA_MASK) * BANK_8K_SIZE) + (_org & $1FFF)
    .ENDM
    
;--------------------------------------------------
;文本数据
    .MACRO STR, _str
            .DB end - start
        start
            .DB _str
        end
    .ENDM
  